export const SMALL_WORKSPACE_RATIO = 0.15;
const DASH_MAX_HEIGHT_RATIO = 0.15;
+const VERTICAL_SPACING_RATIO = 0.02;
const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
this._searchController = searchController;
this._dash = dash;
- this._spacing = 0;
-
this._cachedWorkspaceBoxes = new Map();
this._postAllocationCallbacks = [];
this._workAreaBox.set_size(workArea.width, workArea.height);
}
- _computeWorkspacesBoxForState(state, box, searchHeight, dashHeight, thumbnailsHeight) {
+ _computeWorkspacesBoxForState(state, box, searchHeight, dashHeight, thumbnailsHeight, spacing) {
const workspaceBox = box.copy();
const [width, height] = workspaceBox.get_size();
const {y1: startY} = this._workAreaBox;
break;
case ControlsState.WINDOW_PICKER:
workspaceBox.set_origin(0,
- startY + searchHeight + this._spacing +
- thumbnailsHeight + this._spacing * expandFraction);
+ startY + searchHeight + spacing +
+ thumbnailsHeight + spacing * expandFraction);
workspaceBox.set_size(width,
height -
- dashHeight - this._spacing -
- searchHeight - this._spacing -
- thumbnailsHeight - this._spacing * expandFraction);
+ dashHeight - spacing -
+ searchHeight - spacing -
+ thumbnailsHeight - spacing * expandFraction);
break;
case ControlsState.APP_GRID:
- workspaceBox.set_origin(0, startY + searchHeight + this._spacing);
+ workspaceBox.set_origin(0, startY + searchHeight + spacing);
workspaceBox.set_size(
width,
Math.round(height * SMALL_WORKSPACE_RATIO));
return workspaceBox;
}
- _getAppDisplayBoxForState(state, box, searchHeight, dashHeight, workspacesBox) {
+ _getAppDisplayBoxForState(state, box, searchHeight, dashHeight, workspacesBox, spacing) {
const [width, height] = box.get_size();
const {y1: startY} = this._workAreaBox;
const appDisplayBox = new Clutter.ActorBox();
break;
case ControlsState.APP_GRID:
appDisplayBox.set_origin(0,
- startY + searchHeight + this._spacing + workspacesBox.get_height() + this._spacing);
+ startY + searchHeight + spacing + workspacesBox.get_height() + spacing);
break;
}
appDisplayBox.set_size(width,
height -
- searchHeight - this._spacing -
- workspacesBox.get_height() - this._spacing -
- dashHeight - this._spacing);
+ searchHeight - spacing -
+ workspacesBox.get_height() - spacing -
+ dashHeight - spacing);
return appDisplayBox;
}
this._postAllocationCallbacks = [];
}
- vfunc_set_container(container) {
- this._container?.disconnectObject(this);
- this._container = container;
- this._container?.connectObject('style-changed',
- () => {
- const node = this._container.get_theme_node();
- const spacing = node.get_length('spacing');
- if (this._spacing !== spacing) {
- this._spacing = spacing;
- this.layout_changed();
- }
- }, this);
- }
-
vfunc_get_preferred_width(_container, _forHeight) {
// The MonitorConstraint will allocate us a fixed size anyway
return [0, 0];
const startY = this._workAreaBox.y1;
box.y1 += startY;
const [width, height] = box.get_size();
+ const spacing = Math.round(height * VERTICAL_SPACING_RATIO);
let availableHeight = height;
// Search entry
childBox.set_size(width, searchHeight);
this._searchEntry.allocate(childBox);
- availableHeight -= searchHeight + this._spacing;
+ availableHeight -= searchHeight + spacing;
// Dash
const maxDashHeight = Math.round(box.get_height() * DASH_MAX_HEIGHT_RATIO);
childBox.set_size(width, dashHeight);
this._dash.allocate(childBox);
- availableHeight -= dashHeight + this._spacing;
+ availableHeight -= dashHeight + spacing;
// Workspace Thumbnails
let thumbnailsHeight = 0;
thumbnailsHeight = Math.min(
thumbnailsHeight * expandFraction,
height * this._workspacesThumbnails.maxThumbnailScale);
- childBox.set_origin(0, startY + searchHeight + this._spacing);
+ childBox.set_origin(0, startY + searchHeight + spacing);
childBox.set_size(width, thumbnailsHeight);
this._workspacesThumbnails.allocate(childBox);
}
// Workspaces
- let params = [box, searchHeight, dashHeight, thumbnailsHeight];
+ let params = [box, searchHeight, dashHeight, thumbnailsHeight, spacing];
const transitionParams = this._stateAdjustment.getStateTransitionParams();
// Update cached boxes
const workspaceAppGridBox =
this._cachedWorkspaceBoxes.get(ControlsState.APP_GRID);
- params = [box, searchHeight, dashHeight, workspaceAppGridBox];
+ params = [box, searchHeight, dashHeight, workspaceAppGridBox, spacing];
let appDisplayBox;
if (!transitionParams.transitioning) {
appDisplayBox =
}
// Search
- childBox.set_origin(0, startY + searchHeight + this._spacing);
+ childBox.set_origin(0, startY + searchHeight + spacing);
childBox.set_size(width, availableHeight);
this._searchController.allocate(childBox);